package cn.gov.pbc.gd.credit.api.log;

import java.io.Serializable;
import java.util.List;

import com.liu.jbase.PageListVo;

import cn.gov.pbc.gd.credit.vo.log.LogOperateVo;

/**
 * @date 2017年5月13日
 * @time 下午5:16:38
 * @author liuxingmi
 * @desc 
 * @param 
 */
public interface ILogOperateApi {

    /**
     * 保存数据
     * 
     * @param entity
     */
    public void insert(LogOperateVo entity) throws Exception;

    /**
     * 根据ID更新数据
     * 
     * @param id
     * @param key
     * @param value
     */
    public void updateById(Serializable id, String key, String value) throws Exception;

    /**
     * 更加条件更新数据
     * 
     * @param query
     * @param key
     * @param value
     */
    public void update(LogOperateVo vo) throws Exception;

    /**
     * 更加条件更新数据
     * 
     * @param query
     * @param key
     * @param value
     */
    public void update(LogOperateVo vo, String key, String value) throws Exception;

    /**
     * 根据ID删除数据
     * 
     * @param id
     */
    public void deleteById(Serializable id) throws Exception;

    /**
     * 根据条件删除数据
     * 
     * @param query
     */
    public void deleteByQuery(LogOperateVo vo) throws Exception;

    /**
     * 根据ID查询数据
     * 
     * @param id
     * @return
     */
    public LogOperateVo getOneById(Serializable id) throws Exception;

    /**
     * 根据query查询数据
     * 
     * @param id
     * @return
     */
    public LogOperateVo getOne(LogOperateVo vo) throws Exception;

    /**
     * 获取所有数据
     * 
     * @return
     */
    public List<LogOperateVo> getAll(Class<LogOperateVo> entity) throws Exception;

    /**
     * 获取所有数据
     * 
     * @return
     */
    public List<LogOperateVo> getAll(LogOperateVo vo) throws Exception;

    /**
     * 根据条件获取总数
     * 
     * @param query
     * @return
     */
    public long getCount(LogOperateVo vo) throws Exception;

    /**
     * 根据条件查询分页
     * 
     * @param query
     * @param page
     * @return
     */
    public PageListVo<LogOperateVo> getPage(LogOperateVo vo, PageListVo<LogOperateVo> page) throws Exception;

}
